package esa.isoc.statistics;

public enum StatisticsRow {
	
	TIME_OBS_WIN("Total Time in Observation Windows")
	, TIME_AVAIL_SCIENCE("Total Time Available for Science")
	, OPEN_TIME_GR_A("Open time grade A")
	, OPEN_TIME_GR_B("Open time grade B")
	, OPEN_TIME_GR_C("Open time grade C")
	, OPEN_TIME_TOO("Open time TOO")
	, TOO_OUT_TAC("TOO outside TAC")
	, TOTAL_OPEN_TIME("Total Open Time")
	, CORE_PROGRAMME("Core Programme")
	, CORE_PROGRAMME_TOO("Core Programme TOO")
	, TOTAL_CORE_PROGRAMME("Total Core Programme")
	, TOTAL_KEY_PROGRAMME("Total Key Programme")
	, TOTAL_TOO("Total TOO")
	, CALIBRATION("Calibration")
	, ENGINEERING("Engineering")
	, OSS_ADD_RWB("OSS added Reaction Wheel Biasing")
	, TOTAL_OTHER("Total Other")
	, SLEW_BET_EXPOSURES("Slewing between Exposures")
	, INTERNAL_SLEWING("Internal Slewing (Dither)")
	, TOTAL_SLEWING("Total slewing")
	, PSF_RWB("PSF Reaction Wheel Biasing")
	, HANDOVER_WIN("Handover Window")
	, DELTA_V_EVENT("Delta V Event")
	, TOTAL_USED_SCI_TIME("Total used Science Time")
	, TOTAL_UNUSED_SCI_TIME("Unused Science Time")
	;
	 
	public final String description;
	private StatisticsRow(String description) {
		this.description = description;
	}
	
	public static boolean isValidRow(String row) {
		for (StatisticsRow validRow : StatisticsRow.values()) {
			if (row.startsWith(validRow.description)) {
				return true;
			}
		}
		return false;
	}
	/*Description	Hours	Time	Fraction	Comment
	Total Time in Observation Windows:	61.417	221100	1.000	Revolution 576, POS 4

	Total Time Available for Science:	60.717	218580	0.989	Time in observation windows minus time for PSF mandated events

	Open time grade A:	51.279	184605	0.835	
	Open time grade B:	0.000	0	0.000	
	Open time grade C:	0.000	0	0.000	
	Open time TOO:	0.000	0	0.000	
	TOO outside TAC:	0.000	0	0.000	
	Total Open Time:	51.279	184605	0.835	

	Core Programme:	2.052	7386	0.033	
	Core Programme TOO:	0.000	0	0.000	
	Total Core Programme:	2.052	7386	0.033	

	Total Key Programme:	0.000	0	0.000	

	Total TOO:	0.000	0	0.000	TOO time Open time, outside TAC and Core Programme combined

	Calibration:	0.000	0	0.000	
	Engineering:	0.000	0	0.000	
	OSS added Reaction Wheel Biasing:	0.000	0	0.000	
	Total Other:	0.000	0	0.000	

	Slewing between Exposures:	1.835	6606	0.030	
	Internal Slewing (Dither):	3.613	13007	0.059	
	Total slewing:	5.448	19613	0.089	

	PSF Reaction Wheel Biasing:	0.367	1320	0.006	
	Handover Window:	0.333	1200	0.005	
	Delta V Event:	0.000	0	0.000	

	Total used Science Time:	58.779	211604	0.957	Total time allotted by OSS
	Unused Science Time:	1.938	6976	0.032	*/

}
